home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Misc / PowerGloveInspector / Source / PowerGlove.h < prev    next >
Text File  |  1995-06-12  |  2KB  |  77 lines

  1.  
  2. /* default sample rate, in the asm code, is 100msec intervals (10 per second)
  3.  *
  4.  * uses powerglove.lod file (in current directlry) if avail 
  5.  * otherwise it uses powerglove.snd in the executable
  6.  *
  7.  */
  8. /* Generated by Interface Builder */
  9.  
  10. #import <objc/Object.h>
  11. #import <mach/cthreads.h>
  12. /* was: #include <cthreads.h> */
  13. #import <dpsclient/dpsclient.h>    /* dpsaddport ... createcontext*/
  14.  
  15.     
  16. @interface PowerGlove:Object
  17. {
  18.     DPSContext ourContext;    /* created so we can do mouse dinking*/
  19.     port_t    cmd_port;    /* we need this to change rates */
  20.     int    feedMouse;    /* not used now */
  21.     int    evs_dev;    /* used when feeding the mouse */
  22.     int    DSPRunning;    /* number of times started */
  23.                 /* next two used whenever the data has changed
  24.                  * since the last time someone got the values*/
  25.     BOOL    newPosition;    /* glove movement */
  26.     BOOL    newFinger;    /* finger movement */
  27.     char raw_data[9];    /* the 9 bytes that are the raw data */
  28.                 /* really only 8 bytes */
  29.     /* amount glove has to move for newFinger to be true */
  30.     char    x_hyst,y_hyst,z_hyst;    
  31.  
  32.     
  33. }
  34.  
  35. - init;
  36. - free;
  37.  
  38. /* public methods */
  39.  
  40. - startDSP:sender;    /* glove sends to self in init? */
  41. - stopDSP:sender;
  42.  
  43. /* methods that change the rate the PowerGlove class samples the Glove at */
  44. - feedGloveToMouse:(BOOL)flag;        /* try and feed the glove to ev drive*/
  45.  
  46. - (BOOL)dspIsRunning;        /* are we really running */
  47. - (BOOL)feedingMouse;        /* not working yet */
  48. - (char)getDataByte:(int)bNum;    /* access raw_data 1 byte at a time */
  49.  
  50.                 /* does not include roll, only x,y,z */
  51. - (BOOL)gloveMoved;        /* check if hysteresis overcome */
  52.                 /* default is 1 (+/-) range is 0-127 */
  53. - setxHyst:(char)x yHyst:(char)y zHyst:(char)z;
  54. - (BOOL)fingerMoved;        /* check if any finger movement */
  55.  
  56. - (int)gloveX;
  57. - (int)gloveY;
  58. - (int)gloveZ;
  59. - (int)gloveRot;    
  60. - (int)thumb;
  61. - (int)index;
  62. - (int)middle;
  63. - (int)ring;
  64. - (BOOL)padUp;            /* each one individually */
  65. - (BOOL)padDown;
  66. - (BOOL)padLeft;
  67. - (BOOL)padRight;
  68. - (BOOL)aPressed;
  69. - (BOOL)bPressed;
  70. - (BOOL)startPressed;
  71. - (BOOL)selectPressed;
  72.  
  73. - getDataFromPort;        /* should be private */
  74.  
  75. @end
  76.  
  77.